package com.twetec.cms.model.vo.information;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.twetec.cms.model.vo.base.BaseVO;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

public class InformationContentVO extends BaseVO {

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "id", example = "12345646546")
    private Long id;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "引用的资讯内容id", example = "1222221131")
    private Long InformationContentId;

    @ApiModelProperty(value = "资讯标题", example = "标题1")
    private String title;

    @ApiModelProperty(value = "资讯内容", example = "资讯内容")
    private String content;

    @ApiModelProperty(value = "状态 草稿箱:DRAFTS 待发布:TO_BE_PUBLISH 待审核:TO_BE_VERIFY 已发布:PUBLISHED 已下架:OFF_THE_SHELF 待修改:TO_BE_CHANGE 已过期:EXPIRED", example = "DRAFTS")
    private String status;

    @ApiModelProperty(value = "备注", example = "备注内容")
    private String remark;

    @ApiModelProperty(value = "是否可以修改 0否 1是", example = "1")
    private Integer isChange;

    @ApiModelProperty(value = "资讯类型 链接:LINK 文章:ARTICLE 引用:QUOTE 下载:DOWNLOAD 公告:NOTICE", example = "LINK")
    private String type;

    @ApiModelProperty(value = "所属分类 文字型:TEXT 图片型:PICTURE 视频型:VIDEO", example = "TEXT")
    private String category;

    @ApiModelProperty(value = "来源", example = "本文来源于网络")
    private String source;

    @ApiModelProperty(value = "渠道 H5 PC APP", example = "H5")
    private String channel;

    @ApiModelProperty(value = "关键字", example = "H5")
    private String keyword;

    @ApiModelProperty(value = "是否公告资讯 0否 1是", example = "1")
    private Integer isAffiche;

    @ApiModelProperty(value = "开始时间", example = "2020-07-28 11:46:19")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "结束时间", example = "2020-11-28 11:46:19")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "封面图设置 单图:ONCE 多图:MANY 横图:TRANSVERSE", example = "ONCE")
    private String pictureSetting;

    @ApiModelProperty(value = "封面图列表json", example = "")
    private String pictureListJson;

    @ApiModelProperty(value = "发布者", example = "张三")
    private String publisher;

    @ApiModelProperty(value = "发布时间", example = "2020-11-28 11:46:19")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date publishTime;

    @ApiModelProperty(value = "置顶设置 不置顶:NONE 永久置顶:FOREVER 限时置顶:TIME", example = "NONE")
    private String topSetting;

    @ApiModelProperty(value = "开始置顶时间", example = "2020-01-28 11:46:19")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private String startTopTime;

    @ApiModelProperty(value = "结束置顶时间", example = "2020-11-28 11:46:19")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private String endTopTime;

    @ApiModelProperty(value = "置顶顺序", example = "")
    private String topOrder;

    @ApiModelProperty(value = "发布设置 0立即发布  1定时发布", example = "1")
    private Integer publishSetting;

    @ApiModelProperty(value = "开始发布时间", example = "2020-01-28 11:46:19")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private String startPublishTime;

    @ApiModelProperty(value = "结束发布时间", example = "2020-11-28 11:46:19")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private String endPublishTime;

    @ApiModelProperty(value = "扩展字段json", example = "[{\"field1\":\"111111\",\"field2\":\"22222\",\"field3\":\"333333\"}]")
    private String fieldListJson;

    @Override
    public Long getId() {
        return id;
    }

    @Override
    public void setId(Long id) {
        this.id = id;
    }

    public Long getInformationContentId() {
        return InformationContentId;
    }

    public void setInformationContentId(Long informationContentId) {
        InformationContentId = informationContentId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public Integer getIsAffiche() {
        return isAffiche;
    }

    public void setIsAffiche(Integer isAffiche) {
        this.isAffiche = isAffiche;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getPublisher() {
        return publisher;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public Date getPublishTime() {
        return publishTime;
    }

    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }

    public String getTopSetting() {
        return topSetting;
    }

    public void setTopSetting(String topSetting) {
        this.topSetting = topSetting;
    }

    public String getStartTopTime() {
        return startTopTime;
    }

    public void setStartTopTime(String startTopTime) {
        this.startTopTime = startTopTime;
    }

    public String getEndTopTime() {
        return endTopTime;
    }

    public void setEndTopTime(String endTopTime) {
        this.endTopTime = endTopTime;
    }

    public String getTopOrder() {
        return topOrder;
    }

    public void setTopOrder(String topOrder) {
        this.topOrder = topOrder;
    }

    public Integer getPublishSetting() {
        return publishSetting;
    }

    public void setPublishSetting(Integer publishSetting) {
        this.publishSetting = publishSetting;
    }

    public String getStartPublishTime() {
        return startPublishTime;
    }

    public void setStartPublishTime(String startPublishTime) {
        this.startPublishTime = startPublishTime;
    }

    public String getEndPublishTime() {
        return endPublishTime;
    }

    public void setEndPublishTime(String endPublishTime) {
        this.endPublishTime = endPublishTime;
    }

    public String getFieldListJson() {
        return fieldListJson;
    }

    public void setFieldListJson(String fieldListJson) {
        this.fieldListJson = fieldListJson;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getIsChange() {
        return isChange;
    }

    public void setIsChange(Integer isChange) {
        this.isChange = isChange;
    }

    public String getPictureSetting() {
        return pictureSetting;
    }

    public void setPictureSetting(String pictureSetting) {
        this.pictureSetting = pictureSetting;
    }

    public String getPictureListJson() {
        return pictureListJson;
    }

    public void setPictureListJson(String pictureListJson) {
        this.pictureListJson = pictureListJson;
    }

    @Override
    public String toString() {
        return "InformationContentVO{" +
                "id=" + id +
                ", InformationContentId=" + InformationContentId +
                ", title='" + title + '\'' +
                ", content='" + content + '\'' +
                ", status='" + status + '\'' +
                ", remark='" + remark + '\'' +
                ", isChange=" + isChange +
                ", type='" + type + '\'' +
                ", category='" + category + '\'' +
                ", source='" + source + '\'' +
                ", channel='" + channel + '\'' +
                ", keyword='" + keyword + '\'' +
                ", isAffiche=" + isAffiche +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", pictureSetting='" + pictureSetting + '\'' +
                ", pictureListJson='" + pictureListJson + '\'' +
                ", publisher='" + publisher + '\'' +
                ", publishTime=" + publishTime +
                ", topSetting='" + topSetting + '\'' +
                ", startTopTime='" + startTopTime + '\'' +
                ", endTopTime='" + endTopTime + '\'' +
                ", topOrder='" + topOrder + '\'' +
                ", publishSetting=" + publishSetting +
                ", startPublishTime='" + startPublishTime + '\'' +
                ", endPublishTime='" + endPublishTime + '\'' +
                ", fieldListJson='" + fieldListJson + '\'' +
                '}';
    }
}
